home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / dprint / dprint.h < prev    next >
Text File  |  1995-01-01  |  3KB  |  157 lines

  1. #ifndef    DPRINT_H
  2.  
  3. #define    DPRINT_H
  4.  
  5. #include<stdio.h>
  6. #include<del_prn.h>
  7.  
  8. #define    MAXCARD    1024
  9. #define    DATANUM    5
  10. #define    DATALEN    24
  11.  
  12. #define    RIGHTKEY    '\x1c'
  13. #define    UPKEY        '\x1e'
  14. #define    DOWNKEY        '\x1f'
  15. #define    LEFTKEY        '\x08'
  16. #define    EXTKEY_H    '\x00'
  17.  
  18. #define    DPATOI_ERROR    -32768
  19.  
  20. #define    SYSLINE_START    13
  21. #define    ERRMES_LINE    23
  22.  
  23. #define    DUMMY    0
  24.  
  25. typedef    enum {FALSE=0,TRUE}    bool;        /* 2値     */
  26. typedef    int            fract;        /* 固定小数点数 */
  27. typedef    unsigned        bitmap;        /* ビットマップ */
  28.  
  29. enum    ERRCODE
  30. {
  31.     EXITCODE_OK     = 0x00,
  32.     EXITCODE_CTRLC  = 0x03,
  33.     EXITCODE_BADOPT = 0xff,
  34. };
  35.  
  36. #define    BOOLIZE(a)    ((bool)((a)!=0))
  37. #define    SHEET_CREF(n)    (n+32700)
  38.  
  39. struct    POSTCARD
  40. {
  41.     int    zipcode[2];
  42.     char    data[DATANUM][DATALEN+1];
  43. };
  44.  
  45. struct    SHEETDAT
  46. {
  47.     enum    SHEETTYPE
  48.     {
  49.         SHEET_SELECT = 0,
  50.         SHEET_VALUE1    ,
  51.         SHEET_VALUE2    ,
  52.         SHEET_STRING    ,
  53.     } type;
  54.  
  55.     char    *mes;
  56.     int    min;
  57.     int    max;
  58.     void    *pos;
  59. };
  60.  
  61. struct    SHEETSEL
  62. {
  63.     unsigned    xpos;
  64.     const    char    *mes;
  65. };
  66.  
  67. struct    MENUDAT
  68. {
  69.     const    char    headchar;
  70.     const    char    *tbl;
  71.     const    char    *explain;
  72. };
  73.  
  74. struct    DFLFILE
  75. {
  76.     enum PRNBIOS    prn_machine;
  77.     enum PRNMODE    prn_mode;
  78.  
  79.     fract        umrgin;
  80.     fract        lmrgin;
  81.  
  82.     enum    PRINTOP
  83.     {
  84.         PROP_LEFT = 0,
  85.         PROP_RIGHT   ,
  86.         PROP_CENTER  ,
  87.         PROP_FLEFT   ,
  88.         PROP_FRIGHT  ,
  89.         PROP_FCENTER ,
  90.     } printop[DATANUM];
  91. };
  92.  
  93. /* 「その他」メニューモジュール dpothers.c */
  94.     void    dflfile_init(char *argv0);
  95.     void    dp_othersmenu(void);
  96.     extern    struct    DFLFILE    Dflfile;
  97.  
  98. /* 印刷モジュール dp_print.c */
  99.     void    dp_printmenu(void);
  100.  
  101. /* ファイル操作メニューモジュール dp_fmenu.c */
  102.     void    dp_readfile(FILE *fp);
  103.     void    dp_filemenu(void);
  104.     bool    dp_isallsure(void);
  105.  
  106.     extern    bool    Changedflag;
  107.  
  108. /* データ処理メニューモジュール dp_data.c */
  109.     void    dp_datamenu();
  110.  
  111. /* ファンクションキー処理モジュール dp_fkey.c */
  112.     void    dp_putfkey(bitmap mode);
  113.     void    dp_funcmenu(void);
  114.  
  115. /* 汎用下請けモジュール dpstdlib.c */
  116.     char    dp_errmes(const char *mes);
  117.     char    dp_getch(void);
  118.     void    dp_ungetch(char c);
  119.     bool    strinput(char *buf,unsigned len);
  120.     bool    addcard(unsigned cardpos);
  121.     void    dp_putcardnum(void);
  122.     void    card_reshow(bitmap status);
  123.     fract    dpatoi(char *s);
  124.     int    dp_getval(void);
  125.     bool    dp_getval2(fract *val);
  126.     char    *putfract(char *buf,fract val);
  127.     bool    iscardexist(void);
  128.     void    *dp_malloc(size_t len);
  129.  
  130. /* スタートアップモジュール dp_start.c */
  131.     int    main(int argc,char *argv[]);
  132.     void    dp_puttitle();
  133.     void    dp_endscreen(enum ERRCODE errcode);
  134.  
  135. /* メインモジュール dp_main.c */
  136.     void    dp_main(void);
  137.     extern    struct POSTCARD    far *Card[MAXCARD];
  138.     extern    unsigned    Cardnum;
  139.     extern    unsigned    Cardpos;
  140.     extern    int        Ypos;
  141.  
  142. /* 選択肢メニュー入力処理モジュール menusel.c */
  143.     int    dp_menuselect(char *mes, unsigned num, struct MENUDAT menu[]);
  144.  
  145. /* データ設定シート selsheet.c */
  146.     bool    dp_sheetselect(unsigned startpos,struct SHEETDAT *sheet,
  147.                             unsigned num,int *ret);
  148.     bool    input_st_ed(const char *mes,int *s,int *e);
  149.  
  150. /* ファイルセレクタ fselect.c */
  151.     FILE    *fileselector(char *openmode,char *filename);
  152.  
  153. /* ハードエラー処理ルーチン errtrap.c */
  154.     void    dp_seterrhandler(void);
  155.  
  156. #endif    /* DPRINT_H */
  157.